This specification relates to search engines.
Internet search engines aim to identify resources, e.g., web pages, images, text documents, multimedia content, e.g., videos, that are relevant to a user's information needs and to present information about the resources in a manner that is most useful to the user. Internet search engines generally return a set of search results, each identifying a respective resource, in response to a user-submitted query.
Search systems that operate Internet search engines can also provide query completions to users to help users satisfy their informational needs. As used in this specification, the term “query completion” refers to a suggested sequence of one or more terms that can be used as a query. Some search systems provide query completions in a list as the user is entering a query. A user device interface for a search system typically sends input to the search system as the user enters each character of a query, and the search system provides query completions that match the entered characters. The characters sent to the search system before the user enters a search command input, e.g., hitting the “Enter” key on an input keyboard or a “search” button on a user interface, may be referred to as a “query prefix.” Once the query completions are received, the user device displays the query completions for user selection. The user can select one of the query completions to submit the query completion as a query to a search system without having to type the query manually to enter the query.
FIG. 1A illustrates an example presentation 100 of query completions 120a provided in a prior art way by a search system. The example presentation 100 includes a list of query completions 120a that are provided for the two-character query prefix 105, “ba.”
The query prefix 105 can be submitted to a search system by software of a graphical user interface of a web browser or by software of a user interface of some other software application installed on a user device, e.g., a mobile application installed on a mobile computing device. In response to receiving the query prefix 105, the search system can provide a search results page 100 in a form that can be presented on the user device. For example, the search results page 100 can be provided as a markup language document, e.g., a HyperText Markup Language document, and the user device can render the document, e.g., using a web browser, in order to present the search results page 100 on a display of the user device.
The search results page 100 includes query completions 120a that represent potential completions of the query prefix 105 in a ranked order. The query completion 122a, “baking,” is ranked third behind “basketball” and “baseball.” This may be so even if the user has implicitly, e.g., through previously submitted queries, or explicitly, e.g., through a user profile, shown a greater interest in baking than in sports. Notably, the prior art search system may not consider a previous query of the user when generating query completions 120a, or may only consider previously submitted queries that match the query prefix.
The search results page 100 also includes search results 112a and 114a, which may be provided while the user is entering the query, in other words, before the user has is finished entering the query. The search results 112a, 114a may be referred to as “instant” search results. A search system can obtain the search results 112a, 114a by obtaining search results that satisfy the currently highest-ranked query completion. In this example, the search results 112a, 114a have been obtained as search results for the highest-ranked query completion for query prefix 105, which is “basketball.”